#include "rxe.h"
#include "rxe_loc.h"

static struct rxe_mc_grp *create_grp(struct rxe_dev *rxe,
            struct rxe_pool *pool, union ib_gid *mgid)
{
    int err;
    struct rxe_mc_grp *grp;


    return grp;
}

int rxe_mcast_get_grp(struct rxe_dev *rxe, union ib_gid *mgid,
        struct rxe_mc_grp **grp_p)
{
    int err;
    struct rxe_mc_grp *grp;
    struct rxe_pool *pool = &rxe->mc_grp_pool;
    unsigned long flags;


    return 0;
}

int rxe_mcast_add_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp,
        struct rxe_mc_grp *grp)
{
    int err;
    struct rxe_mc_elem *elem;


    return err;
}

int rxe_mcast_drop_grp_elem(struct rxe_dev *rxe, struct rxe_qp *qp,
        union ib_gid *mgid)
{
    struct rxe_mc_grp *grp;
    struct rxe_mc_elem *elem, *tmp;



}

void rxe_drop_all_mcast_groups(struct rxe_qp *qp)
{




}

void rxe_mc_cleanup(struct rxe_pool_entry *arg)
{
    struct rxe_mc_grp *grp = container_of(arg, typeof(*grp), pelem);
    struct rxe_dev *rxe = grp->rxe;




}

